package com.dd.controller;

import javafx.fxml.FXML;
import javafx.scene.control.RadioButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.control.TextArea;
import javafx.stage.Stage;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Alert;

/*`SelectAqiController` 是 JavaFX 应用中的一个控制器类，主要用于“公众监督员反馈AQI等级”页面的数据交互。它的主要功能包括：

1. **接收并显示任务信息**：  
   通过 `setFormData` 方法接收上一个页面传递过来的省、市、地址等信息（可用于后续显示或处理）。

2. **AQI等级选择**：  
   页面上有6个单选按钮（RadioButton），分别代表不同的AQI等级，用户（公众监督员）可以选择其中一个。

3. **反馈意见填写**：  
   用户可以在 `feedbackArea` 文本框中填写自己的意见或补充说明。

4. **返回与提交**：  
   - 点击“返回”按钮会跳转回上一个页面（选择网格页面）。
   - 点击“提交”按钮会弹窗提示“提交成功”。

5. **界面美化**：  
   选中的单选按钮会有高亮样式，未选中的为灰色边框，提升用户体验。

---

**总结**：  
这个类就是“公众监督员反馈AQI等级页面”的控制器，主要用于公众监督员选择AQI等级、填写反馈，并提交意见。  
**它是公众监督员使用的页面**。*/
public class SelectAqiController {
    // 这里可以添加接收参数的字段
    private String province;
    private String city;
    private String address;

    // 可选：接收参数方法
    public void setFormData(String province, String city, String address) {
        this.province = province;
        this.city = city;
        this.address = address;
        // 你可以在这里做后续处理，比如显示在页面上
    }

    @FXML private RadioButton rb1;
    @FXML private RadioButton rb2;
    @FXML private RadioButton rb3;
    @FXML private RadioButton rb4;
    @FXML private RadioButton rb5;
    @FXML private RadioButton rb6;

    private ToggleGroup aqiGroup = new ToggleGroup();

    @FXML
    private TextArea feedbackArea;

    @FXML private Button backButton;
    @FXML private Button submitButton;

    @FXML
    public void initialize() {
        rb1.setToggleGroup(aqiGroup);
        rb2.setToggleGroup(aqiGroup);
        rb3.setToggleGroup(aqiGroup);
        rb4.setToggleGroup(aqiGroup);
        rb5.setToggleGroup(aqiGroup);
        rb6.setToggleGroup(aqiGroup);

        // 监听选中变化，动态设置样式
        aqiGroup.selectedToggleProperty().addListener((obs, oldToggle, newToggle) -> {
            updateRadioButtonStyles();
        });
        updateRadioButtonStyles();

        // 返回按钮事件...
        backButton.setOnAction(e -> {
            try {
                FXMLLoader loader = new FXMLLoader(getClass().getResource("/com/dd/select_grid.fxml"));
                Parent root = loader.load();
                Stage stage = (Stage) backButton.getScene().getWindow();
                stage.setScene(new Scene(root, 420, 480));
                stage.setTitle("选择网格 - 东软环保公众监督平台");
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        });

        submitButton.setOnAction(e -> {
            Alert alert = new Alert(Alert.AlertType.INFORMATION);
            alert.setTitle("提示");
            alert.setHeaderText(null);
            alert.setContentText("提交成功");
            alert.showAndWait();
        });
    }

    private void updateRadioButtonStyles() {
        RadioButton[] buttons = {rb1, rb2, rb3, rb4, rb5, rb6};
        for (RadioButton rb : buttons) {
            if (rb.isSelected()) {
                rb.setStyle("-fx-font-size: 15px; -fx-background-radius: 8; -fx-border-radius: 8; -fx-border-color: #2196F3; -fx-border-width: 2; -fx-padding: 8 8 8 8;");
            } else {
                rb.setStyle("-fx-font-size: 15px; -fx-background-radius: 8; -fx-border-radius: 8; -fx-border-color: #e0e0e0; -fx-border-width: 2; -fx-padding: 8 8 8 8;");
            }
        }
    }
} 